package com.efast.cafe.portal.dao.doc;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.efast.cafe.framework.bean.EldfTreeBean;
import com.efast.cafe.portal.entity.doc.DocFolder;

public interface DocFolderDao {

	/**
	 * 查询企业文件夹树
	 * @param companyCode
	 * @param pid 父节点id
	 * @param type父节点类型 company/group/folder
	 * @return
	 */
	public List<EldfTreeBean> queryCompanyFolderTree(@Param(value="companyCode") String companyCode,@Param(value="pid") Integer pid,@Param(value="asyn") Integer asyn,@Param(value="type") String type);


	/**
	 * 查询我的文件夹树
	 * @param companyCode
	 * @param pid
	 * @return
	 */
	public List<EldfTreeBean> queryMyFolderTree(@Param(value="companyCode") String companyCode,@Param(value="username") String username,@Param(value="pid") Integer pid,@Param(value="asyn") Integer asyn);

	/**
	 * 创建企业文件夹
	 * @param folder
	 */
	public void addCompanyFolder(DocFolder folder);
	
	/**
	 * 修改企业文件夹名称和描述
	 * @param folder
	 */
	public void updateCompanyFolder(DocFolder folder);
	
	/**
	 * 创建我的文件夹
	 * @param folder
	 */
	public void addMyFolder(DocFolder folder);
	
	/**
	 * 修改我的文件夹
	 * @param folder
	 */
	public void updateMyFolder(DocFolder folder);
	
	/**
	 * 校验在某个分组下文件夹权限
	 * @param companyCode
	 * @param username
	 * @param purCode
	 * @return
	 */
	public int checkFolderPur(@Param(value="companyCode") String companyCode,@Param(value="username") String username,@Param(value="purCode") String purCode,@Param(value="groupId")Integer groupId);

	public DocFolder getById(@Param(value="companyCode") String companyCode,@Param(value="id") Integer id);
}
